查看原文
其他

汽车标定技术--A2L文件生成的方法

快乐的肌肉 汽车MCU软件设计 2024-03-08

目录

1.工具生成

    1.1 CANape/ASAP2 Studio
    1.2 ASAP2ToolKit    1.3 Matlab/Simulink2.手写A2L要点3.小结 


A2L文件的制作一直以来是一个很少有人关注的方向,不管是标定工程师还是Slave协议栈的开发人员,通常都是在祖传A2L文件上修修补补,当然也有用Vector工具配置,自己手撸A2L文件的,反正不管怎么样,能用就行。市面上主流的标定上位机是博世系的INCA和比较普遍的CANape,二者在语法上与标准基本一致,区别在于A2ML的关键字定义上有些不同,感兴趣的可以看看我以前写的文章汽车标定技术--A2L格式分析
那么今天就简单将A2L文件生成的方法做个总结,并附上资料下载链接,如有遗漏的欢迎大家补充。
 

1.工具生成

工具生成是大家平时生成A2L最常用的方法;工具上面有常见的Vector的CANape/ASAP2 Studio和Visu-IT!的 ASAP2Toolkit

1.1 CANape/ASAP2 Studio

CANape非常人性化,通过图形化界面可以完成一个完整A2L的生成,在该界面上它把A2L叫做Database,如下:使用者根据提示一步一步可以完成A2L文件的通用层、传输层、内存映射等配置,可以选择工程elf和map文件完成标定测量量编辑,如下:详细操作步骤可见文末链接。该方式不需要使用者了解A2L文件中A2ML各种关键字和语法,仅需配置即可导出A2L文件,但是由于CANape和INCA在关键字定义有区别,因此二者混用起来还需要修改一些内容。此外CANape传输层的时间参数例如CAN的波特率、SJW等由CANape定义,但是INCA对于这些参数是通过识别A2L文件,所以使用起来二者还是有一定区别。

1.2 ASAP2ToolKit

该工具由一家德国公司Visu-IT!研发,同时也是ASAM组的会员;这个工具比较小众,我在网上申请了一个试用版,使用起来和ASAP2Editor差不多,不过感觉是给INCA用的,毕竟是德国公司。这就不得不佩服德国人了,方方面面都想着收割,这里贴一张官网给的图。
使用界面也差不多,果然是天下作业一半抄,看谁抄的出彩,抄的好看。

1.3 Matlab/Simulink

同样的,模型开发中定义的标定量和测量量也需要A2L文件的描述。在Matlab中的Embedded Coder产品提供了A2L文件生成,如下图所示:这里生成的A2L主要还是针对标定和测量,对于A2L ECU描述、传输层定义还需要自定义,所以以前的做法就是修改tlc文件,以满足特定项目的完整A2L文件生成。在R2021(a)版本之前,可以使用asap2userlib.tlc进行修改,如下图:在R2021(a)版本后,使用coder.asap2.export可以直接完成上述生成,包括A2ML和IF_DATA。参考链接 https://ww2.mathworks.cn/help/ecoder/ref/coder.asap2.export.html

2.手写A2L要点

那么除了上述工具生成,如果想对A2L有更深入的了解,或者是想解决标定时上下位机问题时,我们可以手写一下接口描述、通用、内存布局这部分内容定义,标定和测量量还是想办法生成。了解了之后后面还是使用工具或者自己搞个脚本吧。在手写A2L文件时需要注意的要点如下:1.理清使用的标定上位机支持的A2L版本,例如CANape16.0.10支持A2L 1.51版本;在A2L版本里首先就要定义,如下:
ASAP2_VERSION 1 51
2.找一个可用的A2ML结构体描述,这就需要从祖传A2L寻找,如果没有的话可以看文末链接关于A2L文件demo的示例,其结构如下:注意,这里只是定义了结构体类型,需要在后面使用关键字/begin ... /end 对ECU参数进行定义。以CAN的物理信息定义为例,在A2ML里面语法为左边方框,实际定义是语法格式为右边:从这里,大家应该就发现了,如果出现了A2L无法识别的问题,是需要根据上位机提示去排查是否语法不对。至于每个结构体类型的含义,在后面给的示例中我已经注释好了。3.如果想要自己做脚本生成ECU描述部分(不包含标定量和测量量),那么就需要对每个配置项进行熟悉。脚本生成简朴版:使用excel结合python,针对每个配置项进行选项设置;脚本生成优雅版:使用图形化界面,原理一样。针对标定测量量,如果是手写代码,那么推荐使用数据字典进行管理,按照格式要求维护,方便生成A2L文件。这里还正在尝试搞个这个小工具出来,但是感觉做出来没啥市场,毕竟有祖传或者CANape编辑就可以了。

3.小结

以上我们简单总结了A2L文件的生成方式。这块是比较少人关注的地方,如果有遗漏的地方,请大家及时指出。


资料整理,关注公众号并发送“A2L资料”获取A2L V1.7示例文件、常见工具使用手册。



往期回顾:

1.汽车标定精选

万字长文:汽车标定技术--XCP概述
汽车标定技术--A2L格式分析
汽车标定技术--标定量与#pragma的趣事
汽车ECU标定的实现方式
英飞凌TC3xx-Overlay机制

2.AUTOSAR精选

AUTOSAR OS概述(一)
AUTOSAR OS概述(二)
AUTOSAR 诊断栈分析(一)
AUTOSAR 诊断栈分析(二):DEM
AUTOSAR诊断栈分析(三):DTC状态位

3.汽车网络安全精选

汽车网络安全渗透测试概述
汽车网络安全方案需求分析
汽车信息安全--常见车规MCU安全启动方案
车载信息安全场景概述

4.汽车功能安全精选


5.汽车虚拟化精选

    汽车ECU虚拟化技术初探(一)

    汽车ECU虚拟化技术(二)--U2A虚拟化功能

6.杂七杂八

    我为什么开始写技术博客

    Flash模拟EEPROM原理浅析


继续滑动看下一个

汽车标定技术--A2L文件生成的方法

快乐的肌肉 汽车MCU软件设计
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存